Different kinds of memory provide different ways to access data. For example, FIG. 1A depicts a type of memory known as a “random access memory” or RAM. RAM stores data at different addresses in memory. For example, as shown, when the binary address “0001” is applied in a read operation, the RAM outputs the value, “b”, stored at that address.
FIG. 1B illustrates a different kind of memory known as a “content addressable memory” or a CAM. As shown, the CAM stores different data values (e.g., “a”, “b”, and “c”) known as “tags”. In response to a given lookup tag, the CAM can determine if the lookup tag matches or “hits” a previously written tag. For example, as shown, a search for lookup tag “b” results in a “hit” since “b” was previously written to the CAM.